a11def43b10126f1cdcfee5e83e7af50bb036d55,src/main/java/mom/trd/opentheso/SelectedBeans/SelectedTerme.java,SelectedTerme,creerTradterme,#,1135

Before Change


            terme.setLang(langueEdit);
            terme.setLexical_value(valueEdit);
            terme.setId_term(idT);
            if (new TermHelper().isTermExist(connect.getPoolConnexion(),
                    terme.getLexical_value(),
                    terme.getId_thesaurus(), terme.getLang())) {
                FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, langueBean.getMsg("error") + " :", langueBean.getMsg("sTerme.error4")));

After Change


        boolean tradExist = false;
        
        // c'est le cas ou le concept n'a pas de traduction dans la langue en cours, il faut le mettre a jour dans l'arbre
        boolean newTraduction = false;
        
        
        for (Entry<String, String> e : langues) {
            if (e.getKey().equals(langueEdit)) {
                FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, langueBean.getMsg("error") + " :", langueBean.getMsg("sTerme.error4")));
                tradExist = true;
                break;
            }
        }
        ConceptHelper ch = new ConceptHelper();
        TermHelper termHelper = new TermHelper();
        if(idT.isEmpty()) {
            newTraduction = true;
            String tmp = termHelper.getIdTermOfConcept(connect.getPoolConnexion(), idC, idTheso);
            if(tmp != null) {
                idT = tmp;
            }
        }
        // traduction du domaine
        if (type == 1 && !tradExist) {
            ConceptGroupLabel cgl = new ConceptGroupLabel();
            cgl.setLexicalvalue(valueEdit);
            cgl.setIdgroup(idDomaine);
            cgl.setIdthesaurus(idTheso);
            cgl.setLang(langueEdit);

            GroupHelper cgh = new GroupHelper();
            if (cgh.isDomainExist(connect.getPoolConnexion(),
                    cgl.getLexicalvalue(),
                    cgl.getIdthesaurus(), cgl.getLang())) {
                FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, langueBean.getMsg("error") + " :", langueBean.getMsg("sTerme.error4")));
                return;
            }
            if (!cgh.addGroupTraduction(connect.getPoolConnexion(), cgl, user.getUser().getId())) {
                FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, langueBean.getMsg("error") + " :", langueBean.getMsg("Error")));
                return;
            }

            ArrayList<NodeGroupTraductions> tempNGT = new GroupHelper().getGroupTraduction(connect.getPoolConnexion(), idDomaine, idTheso, idlangue);
            langues = new ArrayList<>();
            HashMap<String, String> tempMapL = new HashMap<>();
            for (NodeGroupTraductions ngt : tempNGT) {
                tempMapL.put(ngt.getIdLang(), ngt.getTitle());
            }
            if(newTraduction) {
                nom = cgh.getLexicalValueOfGroup(connect.getPoolConnexion(), idDomaine, idTheso, idlangue);
            }
            langues.addAll(tempMapL.entrySet());

            // traduction du TT
        } else if (type == 2 && !tradExist) {
            Term terme = new Term();
            terme.setId_thesaurus(idTheso);
            terme.setLang(langueEdit);
            terme.setLexical_value(valueEdit);
            terme.setId_term(idT);
            if (termHelper.isTermExist(connect.getPoolConnexion(),
                    terme.getLexical_value(),
                    terme.getId_thesaurus(), terme.getLang())) {
                FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, langueBean.getMsg("error") + " :", langueBean.getMsg("sTerme.error4")));
                return;
            }

            
            if (!ch.addTopConceptTraduction(connect.getPoolConnexion(), terme, user.getUser().getId())) {
                FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, langueBean.getMsg("error") + " :", langueBean.getMsg("Error")));
                return;
            }

            ArrayList<NodeTermTraduction> tempNTT = termHelper.getTraductionsOfConcept(connect.getPoolConnexion(), idC, idTheso, idlangue);
            langues = new ArrayList<>();
            HashMap<String, String> tempMapL = new HashMap<>();
            for (NodeTermTraduction ntt : tempNTT) {
                tempMapL.put(ntt.getLang(), ntt.getLexicalValue());
            }
            if(newTraduction) {
                nom = termHelper.getThisTerm(connect.getPoolConnexion(),idC, idTheso, idlangue).getLexical_value();
            }
            langues.addAll(tempMapL.entrySet());